package com.dayu.recovery.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.dayu.recovery.mapper.RecoveryPartsMapper;
import com.dayu.recovery.domain.RecoveryParts;
import com.dayu.recovery.service.IRecoveryPartsService;

/**
 * 配件管理Service业务层处理
 * 
 * @author HK
 * @date 2021-04-16
 */
@Service
public class RecoveryPartsServiceImpl implements IRecoveryPartsService 
{
    @Autowired
    private RecoveryPartsMapper recoveryPartsMapper;

    /**
     * 查询配件管理
     * 
     * @param partsId 配件管理ID
     * @return 配件管理
     */
    @Override
    public RecoveryParts selectRecoveryPartsById(Long partsId)
    {
        return recoveryPartsMapper.selectRecoveryPartsById(partsId);
    }

    /**
     * 查询配件管理列表
     * 
     * @param recoveryParts 配件管理
     * @return 配件管理
     */
    @Override
    public List<RecoveryParts> selectRecoveryPartsList(RecoveryParts recoveryParts)
    {
        List<RecoveryParts> list = recoveryPartsMapper.selectRecoveryPartsList(recoveryParts);
        list.forEach(RecoveryParts::builderTotalPrice);
        return list;
    }

    /**
     * 新增配件管理
     * 
     * @param recoveryParts 配件管理
     * @return 结果
     */
    @Override
    public int insertRecoveryParts(RecoveryParts recoveryParts)
    {
        return recoveryPartsMapper.insertRecoveryParts(recoveryParts);
    }

    /**
     * 修改配件管理
     * 
     * @param recoveryParts 配件管理
     * @return 结果
     */
    @Override
    public synchronized int updateRecoveryParts(RecoveryParts recoveryParts)
    {
        return recoveryPartsMapper.updateRecoveryParts(recoveryParts);
    }

    /**
     * 批量删除配件管理
     * 
     * @param partsIds 需要删除的配件管理ID
     * @return 结果
     */
    @Override
    public int deleteRecoveryPartsByIds(Long[] partsIds)
    {
        return recoveryPartsMapper.deleteRecoveryPartsByIds(partsIds);
    }

    /**
     * 删除配件管理信息
     * 
     * @param partsId 配件管理ID
     * @return 结果
     */
    @Override
    public int deleteRecoveryPartsById(Long partsId)
    {
        return recoveryPartsMapper.deleteRecoveryPartsById(partsId);
    }
}
